Jun 6, 2010

LookUpEdit with DevExpress

Udah lama juga gak nulis tulisan yang bener, kayaknya kok punya blog jadi gak berarti. Oke lahhh kalau begitu, mari kita nulis hal yang mending lebih bermanfaat dari sekedar video Luna Maya dan Ariel.
Pada kesempatan kali ini saya ingin membahas sebuah komponen dari DevExpress yang cukup menarik buat saya, yaitu LookUpEdit. Kenapa kok menarik ? yaa... karena dengan component tersebut, kita bisa membuat semacam ComboBox tetapi memiliki Multi-Coloums. Dengan Multi-Coloums tentunya kita memiliki lebih banyak kebebasan untuk menampilkan data yang relevan.


Gak usah lama-lama lagi langsung ajah kita buat implementasi dari LookUpEdit, dan kali ini saya ingin menampilkan data gaji (Data terserah anda). Langsung saja ikuti langkah-langkah berikut :
1. Jelas langkah yang pertama kita harus bikin project (Saya menggunakan VB.Net dengan Visual Studio 2008 dan DevExpress 9.3.2), dan kemudian bikin sebuah Form untuk menempatkan LookUpEdit yang akan digunakan.

2. Letakan component LookUpEdit pada form yang sudah dibuat.



3. Buat sebuah class baru. Saya namai IjinBelajarLogic, dan merupakan turunan dari DbConnection yang merupakan class untuk melakukan koneksi ke database MS SQL Server 2008.



4. Buat sebuah fungsi untuk menampilkan data melalui LookUpEdit.
Full code Class IjinBelajarLogic seperti berikut

-----------Start Code-----------------
Imports System
Imports System.Data.SqlClient
Imports DevExpress.XtraEditors.Controls


Public Class IjinBelajarLogic
Inherits DbConnection

#Region "Class Variables"
Private Command As SqlCommand
Private StringCommand As String
#End Region

#Region "Public Function"
Public Function ShowDataLookUp(ByVal viewLookUpData As DevExpress.XtraEditors.LookUpEdit) As Boolean
Try
If OpenDb() Then
GetDbDataAdapter().SelectCommand = New SqlCommand("dbo.ShowDataGajiPegawai", ConnResource())
GetDbDataAdapter().SelectCommand.CommandType = CommandType.StoredProcedure

dbDataSet.Clear()
GetDbDataAdapter().Fill(dbDataSet, "GajiPegawai")

Dim bsMain_OrderDetails = New BindingSource(dbDataSet, "GajiPegawai")

viewLookUpData.DataBindings.Add("EditValue", bsMain_OrderDetails, "IdGajiPegawai")


viewLookUpData.Properties.DataSource = bsMain_OrderDetails
viewLookUpData.Properties.DisplayMember = "BesarGajiPegawai"
viewLookUpData.Properties.ValueMember = "IdGajiPegawai"

' Add two columns to the dropdown.
Dim coll As LookUpColumnInfoCollection = viewLookUpData.Properties.Columns
' A column to display the ProductID field's values.
coll.Add(New LookUpColumnInfo("IdGajiPegawai", 0))
' A column to display the ProductName field's values.
coll.Add(New LookUpColumnInfo("BesarGajiPegawai", 0))
' A column to display the QuantityPerUnit field's values.
coll.Add(New LookUpColumnInfo("MasaKerja", 0))


viewLookUpData.Properties.BestFitMode = BestFitMode.BestFitResizePopup

' Enable auto completion search mode.
viewLookUpData.Properties.SearchMode = SearchMode.AutoComplete
' Specify the column against which to perform the search.
viewLookUpData.Properties.AutoSearchColumnIndex = 1

Return True
Else
_exception = New Exception("Display data error")
Return False
End If

Catch ex As Exception
_exception = New Exception(ex.Message.ToString)
Return False
End Try

End Function
#End Region

#Region "Utility Function"

#End Region

#Region "Private Function"

#End Region

End Class
-----------end code-----------------

Full code Class DbConnection seperti berikut

-----------Start Code-----------------------
Imports System
Imports System.ComponentModel
Imports System.Data.SqlClient

Public Class DbConnection
#Region "Class Variables"
'Initialization Const

'Initialization connection string
Private Shared STRING_PROVIDER As String = "Network Library=DBMSSOCN;" & _
"Data Source=192.168.0.11,1433;" & _
"Initial Catalog=Kepegawaian;" & _
"User ID=sa;" & _
"Password=xxx"
'"Data Source=127.0.0.1,1433;" & _

'Error messages

'Initialization protected variables
Protected Shared _exception As Exception
Protected dbConnection As SqlConnection
Protected dbCommand As SqlCommand
Protected dbDataAdapter As New SqlDataAdapter
Protected dbDataSet As New DataSet
'Protected _dbDataAdapter As OleDbDataAdapter
#End Region

#Region "Public Functions"
_
Public Shared ReadOnly Property ConnException() As Exception
Get
Return _exception
End Get
End Property

Public Function GetDbDataAdapter() As SqlDataAdapter
Return dbDataAdapter
End Function

Public Function GetDbDataSet() As DataSet
Return dbDataSet
End Function

'*****************************************************
'* OpenDb : get resource of DbConnection
'*****************************************************
Public Function OpenDb() As Boolean
'create object OleDbConnection
Try
dbConnection = New SqlConnection()
dbConnection.ConnectionString = STRING_PROVIDER
dbConnection.Open()
Catch ex As Exception
_exception = New Exception(ex.Message.ToString)
Return False
End Try

Return True
End Function

'*****************************************************
'* CloseDb : get resource of DbConnection
'*****************************************************
Public Function CloseDb() As Boolean
'create object OleDbConnection
Try
dbConnection.Close()
dbConnection = Nothing
Catch ex As Exception
_exception = New Exception(ex.Message.ToString)
Return False
End Try

Return True
End Function


'*****************************************************
'* ConnResource : get resource of DbConnection
'*****************************************************
Public Function ConnResource() As SqlConnection
Return dbConnection
End Function

'*****************************************************
'* ExecuteCmd : Execute Sql command
'*****************************************************
Public Function ExecuteCmd(ByVal CmdString As String) As Boolean
'Insert data
Try
'** Instantiate a command object and set the object properties
dbCommand = New SqlCommand
dbCommand.Connection = dbConnection
dbCommand.CommandText = CmdString

'** Open the database connection, execute the SQL command, close the
'** database connection

dbCommand.ExecuteNonQuery()
dbCommand.Dispose()
dbCommand = Nothing
Catch ex As Exception
_exception = New Exception(ex.Message.ToString)
Return False
End Try

Return True
End Function

#End Region

#Region "Shared Functions"

#End Region

#Region "Utility Functions"

#End Region
End Class
-----------End Code-------------------------
5. Panggil fungsi ShowDataLookUp pada saat Form di load

Private IjinBelajarLogicConnection As New IjinBelajarLogic

Private Sub frmIjinBelajar_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
IjinBelajarLogicConnection.ShowDataLookUp(LookUpEdit1)
End Sub

Semoga bermanfaat
Unknown said...

mas... punya ebook tentang daveexpress?

NR Technology said...

Nggak ada je......

Manual di web-nya devexpress lengkap banget kok. di tv channelnya juga lengkap contoh-contohnya.

Powered by Blogger.

Whatsapp Button works on Mobile Device only

Start typing and press Enter to search